#!/bin/sh -e

make -C unifdef

# Remove gettext requirement.
clsed 's/ngettext/printf/g'           Tools/MiniBrowser/gtk/BrowserDownloadsBar.c
clsed '/po_files \*\.po/d'            Source/WebCore/platform/gtk/po/CMakeLists.txt
clsed '/if.*GETTEXT_FOUND/,/^endif/d' Source/WebCore/platform/gtk/po/CMakeLists.txt
clsed '/^GETTEXT_C/d'                 Source/WebCore/platform/gtk/po/CMakeLists.txt
                            

# Fix clang build.
clsed '/LC_ALL/d'       Source/JavaScriptCore/jsc.cpp
clsed '/WTFLogAlways/d' Source/JavaScriptCore/jsc.cpp

export DESTDIR="$1"

# Webkit's CMake configuration forces color output using clang-specific flags
# when using Ninja as the CMAKE_GENERATOR. We should disable them.
clsed s,-fcolor-diagnostics,, Source/cmake/WebKitCompilerFlags.cmake

cmake -B build \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_SKIP_RPATH=ON \
    -DUNIFDEF_EXECUTABLE="$PWD/unifdef/unifdef" \
    -DLIB_INSTALL_DIR=/usr/lib \
    -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
    -DENABLE_DOCUMENTATION=OFF \
    -DENABLE_GAMEPAD=OFF \
    -DENABLE_GEOLOCATION=OFF \
    -DENABLE_GLES2=ON \
    -DENABLE_INTROSPECTION=OFF \
    -DENABLE_JOURNALD_LOG=OFF \
    -DENABLE_MINIBROWSER=OFF \
    -DENABLE_SAMPLING_PROFILER=OFF \
    -DENABLE_SPELLCHECK=OFF \
    -DENABLE_WEB_CRYPTO="$(cpt l -C libtasn1 ON OFF)" \
    -DENABLE_QUARTZ_TARGET=OFF \
    -DENABLE_WAYLAND_TARGET=ON \
    -DENABLE_X11_TARGET=OFF \
    -DPORT=GTK \
    -DUSE_AVIF=OFF \
    -DUSE_LIBHYPHEN=OFF \
    -DUSE_LIBNOTIFY="$(cpt l -C libnotify ON OFF)" \
    -DUSE_LIBSECRET=OFF \
    -DUSE_OPENJPEG="$(cpt l -C openjpeg2 ON OFF)" \
    -DUSE_SOUP2=ON \
    -DUSE_WOFF2=OFF \
    -DUSE_WPE_RENDERER=OFF \
    -Wno-dev

cmake --build   build
cmake --install build
